
/**
 * Record pre-delete trigger.
 * Validate the record to be deleted.
 * When false is returned the record will not be deleted in the database.
 * When an exception is thrown the record will also not be deleted in the database but it will be added to databaseManager.getFailedRecords(),
 * the thrown exception can be retrieved via record.exception.getValue().
 *
 * @param {JSRecord<db:/infocom/proyectos>} record record that will be deleted
 *
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"9C22AB5B-18BC-4DB0-B07A-6E9D91BFB9FD"}
 */
function onRecordDelete(record) {
	if (record.proyecto_to_subproyectos.getSize() > 0){
		globals.DIALOGS.showWarningDialog('Aviso','NO se puede eliminar el proyecto por subproyectos asociados','OK')
		return false
	}
	if (record.proyectos_to_ctacte_cl.getSize() > 0){
		globals.DIALOGS.showWarningDialog('Aviso','NO se puede eliminar el proyecto por movimientos de cuenta corriente asociados','OK')
		return false
	}
	if (record.proyectos_to_ctacte_pr.getSize() > 0){
		globals.DIALOGS.showWarningDialog('Aviso','NO se puede eliminar el proyecto por movimientos de cuenta corriente asociados','OK')
		return false
	}
	if (record.proyectos_to_fac_cabecera.getSize() > 0){
		globals.DIALOGS.showWarningDialog('Aviso','NO se puede eliminar el proyecto por facturas asociadas','OK')
		return false
	}
	if (record.proyectos_to_movim_cyb.getSize() > 0){
		globals.DIALOGS.showWarningDialog('Aviso','NO se puede eliminar el proyecto por movimientos de caja y banco asociados','OK')
		return false
	}
	if (record.proyectos_to_op_cabecera.getSize() > 0){
		globals.DIALOGS.showWarningDialog('Aviso','NO se puede eliminar el proyecto por ordenes de pago asociadas','OK')
		return false
	}
	if (record.proyectos_to_rec_cabecera.getSize() > 0){
		globals.DIALOGS.showWarningDialog('Aviso','NO se puede eliminar el proyecto por recibos asociados','OK')
		return false
	}
	return true
}
